In [1]:
import plotly
plotly.offline.init_notebook_mode()
import cufflinks as cf
cf.go_offline()
cf.set_config_file(theme='ggplot')
from plotly.graph_objs import Bar,Layout, Figure,Data,Scattermapbox,Marker,Surface,XAxis,YAxis,ZAxis,Scene,Scatter
In [2]:
import pandas as pd
import numpy as np

Bar plot

In [3]:
N = 40
x = np.linspace(0, 1, N)
y = np.random.randn(N)
df = pd.DataFrame({'x': x, 'y': y})
In [4]:
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 40 entries, 0 to 39
Data columns (total 2 columns):
x    40 non-null float64
y    40 non-null float64
dtypes: float64(2)
memory usage: 720.0 bytes
In [5]:
data=[Bar(x=df['x'],
          y=df['y'])]
In [6]:
plotly.offline.iplot(Figure(data=data))
In [7]:
N = 20
x = np.linspace(1, 10, N)
y = np.random.randn(N)+3
y2 = np.random.randn(N)+6
y3 = np.random.randn(N)+9
y4 = np.random.randn(N)+12
df = pd.DataFrame({'x': x, 'y': y, 'y2':y2, 'y3':y3, 'y4':y4})
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20 entries, 0 to 19
Data columns (total 5 columns):
x     20 non-null float64
y     20 non-null float64
y2    20 non-null float64
y3    20 non-null float64
y4    20 non-null float64
dtypes: float64(5)
memory usage: 880.0 bytes
In [35]:
data=[ Bar(x=df.x,
           y=df.y,
           marker={'color':'#2E8B57'},
           name='XvsY'
          ),
       Bar(x=df.x,
           y=df.y2,
           marker={'color':'#FF7F50'},
           name='XvsY2'
          ),
       Bar(x=df.x,
           y=df.y3,
           marker={'color':'#A233A2'},
           name='XvsY3'
          ),
       Bar(x=df.x,
           y=df.y4,
           marker={'color':'#4682B4'},
           name='XvsY4'
          )
     ]
In [38]:
layout = Layout(barmode='linear',
                title='Stacked Bar with Pandas',
               )
In [39]:
plotly.offline.iplot(Figure(data=data,layout=layout))
In [45]:
layout.update(barmode='stack')
plotly.offline.iplot(Figure(data=data,layout=layout))
In [86]:
for d in data:
    d.update(orientation='h')
    
layout.update(barmode='linear')
plotly.offline.iplot(Figure(data=data,layout=layout))
In [48]:
df = pd.DataFrame(np.random.rand(10, 4), columns=['A', 'B', 'C', 'D'])
df.iplot(kind='bar')
In [61]:
df.iplot(kind='bar',barmode='stack')
In [62]:
df.iplot(kind='barh')
In [79]:
df.iplot(kind='barh',barmode='stack')